#include<iostream>
using namespace std;
#include <utility>

namespace test3 {
    void process(int& value) {
        std::cout << "Lvalue processed: " << value << std::endl;
    }

    void process(int&& value) {
        std::cout << "Rvalue processed: " << value << std::endl;
    }

    // Function template that forwards its argument to process function
    template <typename T>
    void forwarder(T&& arg) {
        process(std::forward<T>(arg));
    }

    int main7() {
        int x = 10;
        process(x);
        process(10);
        process(x + 1);

        return 0;
    }
}